Column

Rede basica

---
title: "MTST no Twitter"
output:
  flexdashboard::flex_dashboard:
    orientation: columns
    social: menu
    source_code: embed
---

```{r setup, include=FALSE}
if (!('devtools' %in% installed.packages()[,'Package'])){install.packages("devtools")}; require(devtools);              # To get packages from Github
if (!('rtweet' %in% installed.packages()[,'Package'])){install.packages("rtweet")}; require(rtweet);                    # Twitter API interface
if (!('igraph' %in% installed.packages()[,'Package'])){install.packages("igraph")}; require(igraph);                    # graphs
if (!('tidygraph' %in% installed.packages()[,'Package'])){install.packages("tidygraph")}; require(tidygraph);           # graphs as dplyr
if (!('leiden' %in% installed.packages()[,'Package'])){install.packages("leiden")}; require(leiden);                    # Clustering algorithm
if (!('flexdashboard' %in% installed.packages()[,'Package'])){install.packages("flexdashboard")};require(flexdashboard);# For dashboards 

# load necessary function files
wd <- '/home/cesar/Dropbox/R/Twitter_analyses/Projetos/MTST_semanal'
setwd(wd)
file.sources = list.files(paste0(wd,'/modular_codes'), 
                          pattern="*.R", full.names = TRUE, )
sapply(file.sources,source, local = knitr::knit_global())
```

```{r}
appname <- 'InFo(r)me'
consumerKey='oPwkEUrnLYdi0pe3P71ENDkHU'
consumerSecret='dvz2GeOOsYi0DfR957MT7bKkCkFt1HfeB3NPYskSGPaRTSNuSS'
accessToken='81131185-sjFX3WKJeeB05IAiaHUUNAq2yrGcMNMNfILiNBmEA'
accessTokenSecret= 'TO1Qy6ZsMGHzA8IHGhsqQ5ADqQJCRkHKfe440zZZ5B8PW'
rapidapi_key = '9453432f12mshd49bad8f648a9e8p117dc9jsn4f1ca9517def'

# Search term
search_term <- c('MTST', 'Nucleo de Tecnologia')
# max tweets
n <- 100000

#Connect to twitter
if(is.null(get_token())){
  twitter_token <- create_token(app = appname, 
                                consumer_key = consumerKey, 
                                consumer_secret = consumerSecret,
                                access_token = accessToken, 
                                access_secret = accessTokenSecret)  
}else{
  twitter_token <- get_token()
}
sig <- config(token = twitter_token)

```


```{r}
# Start from Here when twitter data is provided
tweet_df <- rtweet::read_twitter_csv('data/twitter_data.csv')
```

```{r}
meta <- list(tweets = nrow(tweet_df),
             by_term = t(as.matrix(table(tweet_df %>% pull(query)))))

# Polaridade de sentimentos com base em bancos em PtBr oplex e Sentilex
tweet_df <- polaridades(tweet_df)

# Interaction Network
net <- my_network_graph(tweet_df) %>%
  as_tbl_graph()

# Interaction network metrics
net <- net %N>% 
  mutate(community = as.factor(leiden(net, resolution_parameter = 0.5))) %E>%
  mutate(community = .N()$community[from]) %E>% # .N() makes the node data available while manipulating edges
  mutate(edge_bet = centrality_edge_betweenness(directed = T)) %N>%
  mutate(in_degree = centrality_degree(mode = 'in')) %>%
  mutate(out_degree = centrality_degree(mode = 'out')) %>%
  mutate(betweenness_c =  centrality_betweenness(directed = T)) %>% # centrality_betweenness can't handle large graphs bc output is list
  mutate(eigen = centrality_eigen(directed = T))
```

Column {data-width=2000}
-----------------------------------------------------------------------
### Rede basica

```{r}
basic_net_plot(net, meta, search_term)
```